200
How do I arrange my columns on multiple lines

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:HeaderHeight := 32
		oList:Columns():Add(""):HTMLCaption := "Line 1<br>Line 2"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
199
How can I display all cells using HTML format

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("HTML"):SetProperty("Def",17/*exCaptionFormat*/,1)
		oList:Items():Add("<font ;12>T</font>his <b>is</b> an <a>html</a> <font Tahoma><fgcolor=FF0000>text</fgcolor></font>.")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
198
How can I display all cells using multiple lines

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("MultipleLine"):SetProperty("Def",16/*exCellSingleLine*/,.F.)
		oList:Columns():Add("SingleLine"):SetProperty("Def",16/*exCellSingleLine*/,.T.)
		oItems := oList:Items()
			oItems:SetProperty("Caption",oItems:Add("This is a bit of long text that should break the line"),1,"this is a bit of long text that's displayed on a single line")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
197
How do change the vertical alignment for all cells in the column

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems,oItems1
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("MultipleLine"):SetProperty("Def",16/*exCellSingleLine*/,.F.)
		oList:Columns():Add("VAlign"):SetProperty("Def",6/*exCellVAlignment*/,2)
		oItems := oList:Items()
			oItems:SetProperty("Caption",oItems:Add("This is a bit of long text that should break the line"),1,"bottom")
		oItems1 := oList:Items()
			oItems1:SetProperty("Caption",oItems1:Add("This is a bit of long text that should break the line"),1,"bottom")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
196
How do change the foreground color for all cells in the column

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("ForeColor"):SetProperty("Def",5/*exCellForeColor*/,255)
		oList:Items():Add(0)
		oList:Items():Add(1)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
195
How do change the background color for all cells in the column

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("BackColor"):SetProperty("Def",4/*exCellBackColor*/,255)
		oList:Items():Add(0)
		oList:Items():Add(1)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
194
How do I show buttons for all cells in the column

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumn := oList:Columns():Add("Button")
			oColumn:SetProperty("Def",2/*exCellHasButton*/,.T.)
			oColumn:SetProperty("Def",3/*exCellHasButton+exCellHasRadioButton*/,.T.)
		oList:Items():Add(" Button 1 ")
		oList:Items():Add(" Button 2 ")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
193
How do I show buttons for all cells in the column

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Button"):SetProperty("Def",2/*exCellHasButton*/,.T.)
		oList:Items():Add(0)
		oList:Items():Add(1)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
192
How do I display radio buttons for all cells in the column

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Radio"):SetProperty("Def",1/*exCellHasRadioButton*/,.T.)
		oList:Items():Add(0)
		oList:Items():Add(1)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
191
How do I display checkboxes for all cells in the column

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Check"):SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
		oList:Items():Add(0)
		oList:Items():Add(1)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
190
How can I display a tooltip when the cursor hovers the column

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("tooltip"):ToolTip := "This is a bit of text that is shown when user hovers the column."

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
189
Is there any function to assign a key to a column instead using its name or capion

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Data"):Key := "DKey"
		oList:Columns():Item("DKey"):Caption := "new caption"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
188
Is there any function to assign any extra data to a column

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Data"):Data := "your extra data"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
187
By default, the column gets sorted descending, when I first click its header. How can I change so the column gets sorted ascending when the user first clicks the column's header

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Sort"):DefaultSortOrder := .T.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
186
How can I specify the maximum width for the column, if I use WidthAutoResize property

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumn := oList:Columns():Add("Auto")
			oColumn:WidthAutoResize := .T.
			oColumn:MinWidthAutoResize := 32
			oColumn:MaxWidthAutoResize := 128
		oList:Items():Add(0)
		oList:Items():Add(1)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
185
How can I specify the minimum width for the column, if I use WidthAutoResize property

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumn := oList:Columns():Add("Auto")
			oColumn:WidthAutoResize := .T.
			oColumn:MinWidthAutoResize := 32
		oList:Items():Add(0)
		oList:Items():Add(1)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
184
Is there any option to resize the column based on its data, captions

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("A"):WidthAutoResize := .T.
		oList:Items():Add(0)
		oList:Items():Add(1)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
183
How can I align the icon in the column's header in the center

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oColumn := oList:Columns():Add("")
			oColumn:HeaderImage := 1
			oColumn:HeaderImageAlignment := 1/*CenterAlignment*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
182
How do I align the icon in the column's header to the right

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oColumn := oList:Columns():Add("ColumnName")
			oColumn:HeaderImage := 1
			oColumn:HeaderImageAlignment := 2/*RightAlignment*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
181
How do I show or hide the sorting icons, but still need sorting

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Sorted"):SortOrder := 1/*SortAscending*/
		oList:Columns:Item(0):DisplaySortIcon := .F.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
180
How do I enable or disable the entire column

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems,oItems1
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("C1")
		oList:Columns():Add("Disabled"):Enabled := .F.
		oItems := oList:Items()
			oItems:SetProperty("Caption",oItems:Add(0),1,"0.1")
		oItems1 := oList:Items()
			oItems1:SetProperty("Caption",oItems1:Add(1),1,"1.1")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
179
How do I disable drag and drop columns
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("C1"):AllowDragging := .F.
		oList:Columns():Add("C2"):AllowDragging := .F.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
178
How do I disable resizing a column at runtime

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Unsizable"):AllowSizing := .F.
		oList:Columns():Add("C2")
		oList:Columns():Add("C3")
		oList:Columns():Add("C4")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
177
How can I align the column to the right, and its caption too

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumn := oList:Columns():Add("Column")
			oColumn:Alignment := 2/*RightAlignment*/
			oColumn:HeaderAlignment := 2/*RightAlignment*/
		oList:Items():Add(0)
		oList:Items():Add(1)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
176
How can I align the column to the right

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Column"):Alignment := 2/*RightAlignment*/
		oList:Items():Add(0)
		oList:Items():Add(1)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
175
How do I change the column's caption

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Column"):Caption := "new caption"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
174
Can I change the visual effect, appearance for the anchor, hyperlink elements, in HTML captions, after the user clicks it

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems,oItems1
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SetProperty("FormatAnchor",.F.,"<b><u><fgcolor=880000> </fgcolor></u></b>")
		oList:Columns():Add("Column")
		oItems := oList:Items()
			oItems:SetProperty("CaptionFormat",oItems:Add("Just an <a1>anchor</a> element ..."),0,1/*exHTML*/)
		oItems1 := oList:Items()
			oItems1:SetProperty("CaptionFormat",oItems1:Add("Just another <a2>anchor</a> element ..."),0,1/*exHTML*/)
		oList:Items():Add("next item")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
173
Can I change the visual effect, appearance for the anchor, hyperlink elements, in HTML captions

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems,oItems1
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SetProperty("FormatAnchor",.T.,"<b><u><fgcolor=FF0000> </fgcolor></u></b>")
		oList:Columns():Add("Column")
		oItems := oList:Items()
			oItems:SetProperty("CaptionFormat",oItems:Add("Just an <a1>anchor</a> element ..."),0,1/*exHTML*/)
		oItems1 := oList:Items()
			oItems1:SetProperty("CaptionFormat",oItems1:Add("Just another <a2>anchor</a> element ..."),0,1/*exHTML*/)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
172
Can I change the font for the tooltip

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:ToolTipDelay := 1
		oList:ToolTipWidth := 364
		oList:Columns():Add("tootip"):ToolTip := "<br><font Tahoma;14>this</font> is a tooltip assigned to a column<br>"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
171
Can I change the font for the tooltip

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList
	LOCAL oStdFont

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:ToolTipDelay := 1
		oStdFont := oList:ToolTipFont()
			oStdFont:Name := "Tahoma"
			oStdFont:Size := 14
		oList:ToolTipWidth := 364
		oList:Columns():Add("tootip"):ToolTip := "this is a tooltip assigned to a column"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
170
Can I change the order of the buttons in the scroll bar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SetProperty("ScrollOrderParts",1/*exHScroll*/,"t,l,r")
		oList:SetProperty("ScrollOrderParts",0/*exVScroll*/,"t,l,r")
		oList:ScrollBars := 15/*DisableBoth*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
169
The thumb size seems to be very small. Can I make it bigger

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:ColumnAutoResize := .F.
		oList:Columns():Add("C1"):Width := 256
		oList:Columns():Add("C2"):Width := 256
		oList:Columns():Add("C3"):Width := 256
		oList:SetProperty("ScrollThumbSize",1/*exHScroll*/,64)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
168
How can I display my text on the scroll bar, using a different font

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SetProperty("ScrollPartCaption",1/*exHScroll*/,256/*exThumbPart*/,"This is <s><font Tahoma;12> just </font></s> text")
		oList:ColumnAutoResize := .F.
		oList:ScrollHeight := 20
		oList:Columns():Add("C1"):Width := 256
		oList:Columns():Add("C2"):Width := 256
		oList:Columns():Add("C3"):Width := 256

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
167
How can I display my text on the scroll bar, using a different font

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SetProperty("ScrollPartCaption",1/*exHScroll*/,256/*exThumbPart*/,"This is just a text")
		oList:ScrollFont(1/*exHScroll*/):Size := 12
		oList:ColumnAutoResize := .F.
		oList:ScrollHeight := 20
		oList:Columns():Add("C1"):Width := 256
		oList:Columns():Add("C2"):Width := 256
		oList:Columns():Add("C3"):Width := 256

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
166
How can I display my text on the scroll bar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SetProperty("ScrollPartCaption",1/*exHScroll*/,256/*exThumbPart*/,"this is just a text")
		oList:ColumnAutoResize := .F.
		oList:Columns():Add("C1"):Width := 256
		oList:Columns():Add("C2"):Width := 256
		oList:Columns():Add("C3"):Width := 256

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
165
How do I enlarge or change the size of the control's scrollbars

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:ScrollHeight := 18
		oList:ScrollWidth := 18
		oList:ScrollButtonWidth := 18
		oList:ScrollButtonHeight := 18
		oList:ScrollBars := 15/*DisableBoth*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
164
How do I assign a tooltip to a scrollbar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SetProperty("ScrollToolTip",1/*exHScroll*/,"This is a tooltip being shown when you click and drag the thumb in the horizontal scroll bar")
		oList:ColumnAutoResize := .F.
		oList:Columns():Add("C1"):Width := 256
		oList:Columns():Add("C2"):Width := 256
		oList:Columns():Add("C3"):Width := 256

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
163
How do I assign an icon to the button in the scrollbar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oList:SetProperty("ScrollPartVisible",1/*exHScroll*/,32768/*exLeftB1Part*/,.T.)
		oList:SetProperty("ScrollPartCaption",1/*exHScroll*/,32768/*exLeftB1Part*/,"<img>1</img>")
		oList:ScrollHeight := 18
		oList:ScrollButtonWidth := 18
		oList:ScrollBars := 5/*DisableNoHorizontal*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
162
I need to add a button in the scroll bar. Is this possible

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SetProperty("ScrollPartVisible",1/*exHScroll*/,32768/*exLeftB1Part*/,.T.)
		oList:SetProperty("ScrollPartCaption",1/*exHScroll*/,32768/*exLeftB1Part*/,"1")
		oList:ScrollBars := 5/*DisableNoHorizontal*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
161
Can I display an additional buttons in the scroll bar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SetProperty("ScrollPartVisible",1/*exHScroll*/,32768/*exLeftB1Part*/,.T.)
		oList:SetProperty("ScrollPartVisible",1/*exHScroll*/,16384/*exLeftB2Part*/,.T.)
		oList:SetProperty("ScrollPartVisible",1/*exHScroll*/,1/*exRightB6Part*/,.T.)
		oList:SetProperty("ScrollPartVisible",1/*exHScroll*/,2/*exRightB5Part*/,.T.)
		oList:ScrollBars := 5/*DisableNoHorizontal*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
160
How can I display a custom size picture to a cell or item

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:DefaultItemHeight := 48
		oList:Columns():Add("C1")
		oItems := oList:Items()
			oItems:SetProperty("CellPicture",oItems:Add("Text"),0,oList:ExecuteTemplate("loadpicture(`c:\exontrol\images\zipdisk.gif`)"))

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
159
How can I display a multiple pictures to a cell or item

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:DefaultItemHeight := 48
		oList:SetProperty("HTMLPicture","pic1","c:\exontrol\images\zipdisk.gif")
		oList:SetProperty("HTMLPicture","pic2","c:\exontrol\images\auction.gif")
		oList:Columns():Add("C1")
		oItems := oList:Items()
			oItems:SetProperty("CaptionFormat",oItems:Add("<img>pic1</img> Text <img>pic2</img> another text ..."),0,1/*exHTML*/)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
158
How do I change the column's foreground color for numbers between an interval - Range

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oConditionalFormat
	LOCAL oItems,oItems1,oItems2,oItems3
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oConditionalFormat := oList:ConditionalFormats():Add("%0 >= 2 and %0 <= 10")
			oConditionalFormat:Bold := .T.
			oConditionalFormat:SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
			oConditionalFormat:ApplyTo := 1/*0x1+*/
		oList:Columns():Add("N1")
		oList:Columns():Add("N2")
		oItems := oList:Items()
			oItems:SetProperty("Caption",oItems:Add(1),1,2)
		oItems1 := oList:Items()
			oItems1:SetProperty("Caption",oItems1:Add(3),1,3)
		oItems2 := oList:Items()
			oItems2:SetProperty("Caption",oItems2:Add(10),1,11)
		oItems3 := oList:Items()
			oItems3:SetProperty("Caption",oItems3:Add(13),1,31)
		oList:SearchColumnIndex := 1

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
157
How do I change the item's foreground color for numbers between an interval - Range

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:ConditionalFormats():Add("%0 >= 2 and %0 <= 10"):SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
		oList:Columns():Add("Numbers")
		oList:Items():Add(1)
		oList:Items():Add(2)
		oList:Items():Add(10)
		oList:Items():Add(20)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
156
How do I change the item's background color for numbers less than a value

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:ConditionalFormats():Add("%0 < 10"):SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
		oList:Columns():Add("Numbers")
		oList:Items():Add(1)
		oList:Items():Add(2)
		oList:Items():Add(10)
		oList:Items():Add(20)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
155
How do I underline the numbers greater than a value

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:ConditionalFormats():Add("%0 >= 10"):Underline := .T.
		oList:Columns():Add("Numbers")
		oList:Items():Add(1)
		oList:Items():Add(2)
		oList:Items():Add(10)
		oList:Items():Add(20)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
154
How do I highlight in italic the numbers greater than a value

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:ConditionalFormats():Add("%0 >= 10"):StrikeOut := .T.
		oList:Columns():Add("Numbers")
		oList:Items():Add(1)
		oList:Items():Add(2)
		oList:Items():Add(10)
		oList:Items():Add(20)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
153
How do I highlight in italic the numbers greater than a value

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:ConditionalFormats():Add("%0 >= 10"):Italic := .T.
		oList:Columns():Add("Numbers")
		oList:Items():Add(1)
		oList:Items():Add(2)
		oList:Items():Add(10)
		oList:Items():Add(20)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
152
How do I highlight in bold the numbers greater than a value

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:ConditionalFormats():Add("%0 >= 10"):Bold := .T.
		oList:Columns():Add("Numbers")
		oList:Items():Add(1)
		oList:Items():Add(2)
		oList:Items():Add(10)
		oList:Items():Add(20)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
151
Can I use your EBN files to change the visual appearance for radio buttons

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oList:VisualAppearance():Add(2,"c:\exontrol\images\pushed.ebn")
		oList:SetProperty("RadioImage",.F.,16777216)
		oList:SetProperty("RadioImage",.T.,33554432)
		oList:Columns():Add("Radio"):SetProperty("Def",1/*exCellHasRadioButton*/,.T.)
		oItems := oList:Items()
			oItems:Add("Radio 1")
			oItems:SetProperty("CellState",oItems:Add("Radio 2"),0,1)
			oItems:Add("Radio 3")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
150
Can I use your EBN files to change the visual appearance for checkbox cells

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oList:VisualAppearance():Add(2,"c:\exontrol\images\pushed.ebn")
		oList:SetProperty("CheckImage",0/*Unchecked*/,16777216)
		oList:SetProperty("CheckImage",1/*Checked*/,33554432)
		oList:Columns():Add("Check"):SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
		oItems := oList:Items()
			oItems:Add("Check 1")
			oItems:SetProperty("CellState",oItems:Add("Check 2"),0,1)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
149
How do I change the visual aspect for thumb parts in the scroll bars, using EBN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oList:VisualAppearance():Add(2,"c:\exontrol\images\pushed.ebn")
		oList:VisualAppearance():Add(3,"c:\exontrol\images\hot.ebn")
		oList:SetProperty("Background",388/*exHSThumb*/,0x1000000)
		oList:SetProperty("Background",389/*exHSThumbP*/,0x2000000)
		oList:SetProperty("Background",391/*exHSThumbH*/,0x3000000)
		oList:SetProperty("Background",260/*exVSThumb*/,0x1000000)
		oList:SetProperty("Background",261/*exVSThumbP*/,0x2000000)
		oList:SetProperty("Background",263/*exVSThumbH*/,0x3000000)
		oList:ColumnAutoResize := .F.
		oList:ScrollBySingleLine := .T.
		oList:Columns():Add("S"):Width := 483
		oItems := oList:Items()
			oItems:SetProperty("ItemHeight",oItems:Add("Item 1"),248)
		oList:Items():Add("Item 2")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
148
How do I change the visual aspect only for the thumb in the scroll bar, using EBN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oList:VisualAppearance():Add(2,"c:\exontrol\images\pushed.ebn")
		oList:VisualAppearance():Add(3,"c:\exontrol\images\hot.ebn")
		oList:SetProperty("Background",388/*exHSThumb*/,0x1000000)
		oList:SetProperty("Background",389/*exHSThumbP*/,0x2000000)
		oList:SetProperty("Background",391/*exHSThumbH*/,0x3000000)
		oList:ColumnAutoResize := .F.
		oList:Columns():Add("S"):Width := 483

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
147
I've seen that you can change the visual appearance for the scroll bar. How can I do that

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oList:VisualAppearance():Add(2,"c:\exontrol\images\pushed.ebn")
		oList:VisualAppearance():Add(3,"c:\exontrol\images\hot.ebn")
		oList:SetProperty("Background",324/*exSBtn*/,0x1000000)
		oList:SetProperty("Background",325/*exSBtnP*/,0x2000000)
		oList:SetProperty("Background",327/*exSBtnH*/,0x3000000)
		oList:SetProperty("Background",404/*exHSBack*/,AutomationTranslateColor( GraMakeRGBColor  ( { 240,240,240 } )  , .F. ))
		oList:SetProperty("Background",276/*exVSBack*/,AutomationTranslateColor( GraMakeRGBColor  ( { 240,240,240 } )  , .F. ))
		oList:SetProperty("Background",511/*exScrollSizeGrip*/,AutomationTranslateColor( GraMakeRGBColor  ( { 240,240,240 } )  , .F. ))
		oList:Columns():Add("S"):Width := 32
		oList:Columns():Add("Level 1"):LevelKey := 1
		oList:Columns():Add("Level 2"):LevelKey := 1
		oList:Columns():Add("Level 3"):LevelKey := 1
		oList:Columns():Add("E1"):Width := 32
		oList:Columns():Add("E2"):Width := 32
		oList:Columns():Add("E3"):Width := 32
		oList:Columns():Add("E4"):Width := 32
		oList:ColumnAutoResize := .F.
		oList:ScrollBars := 15/*DisableBoth*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
146
Is there any option to highligth the column from the cursor - point

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oList:SetProperty("Background",32/*exCursorHoverColumn*/,0x1000000)
		oList:Columns():Add("S"):Width := 32
		oList:Columns():Add("Level 1"):LevelKey := 1
		oList:Columns():Add("Level 2"):LevelKey := 1
		oList:Columns():Add("Level 3"):LevelKey := 1
		oList:Columns():Add("E1"):Width := 32
		oList:Columns():Add("E2"):Width := 32
		oList:Columns():Add("E3"):Width := 32
		oList:Columns():Add("E4"):Width := 32

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
145
How do I change the visual aspect of selected item in the drop down filter window, using your EBN technology

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oList:SetProperty("Background",20/*exSelBackColorFilter*/,0x1000000)
		oList:SetProperty("Background",21/*exSelForeColorFilter*/,AutomationTranslateColor( GraMakeRGBColor  ( { 255,20,20 } )  , .F. ))
		oList:Columns():Add("Filter"):DisplayFilterButton := .T.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
144
How do I change the visual aspect of the drop down calendar window, that shows up if I click the drop down filter button, using EBN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oList:VisualAppearance():Add(2,"c:\exontrol\images\pushed.ebn")
		oList:SetProperty("Background",8/*exDateHeader*/,0x1000000)
		oList:SetProperty("Background",9/*exDateTodayUp*/,0x1000000)
		oList:SetProperty("Background",10/*exDateTodayDown*/,0x2000000)
		oList:SetProperty("Background",11/*exDateScrollThumb*/,0x1000000)
		oList:SetProperty("Background",12/*exDateScrollRange*/,AutomationTranslateColor( GraMakeRGBColor  ( { 230,230,230 } )  , .F. ))
		oList:SetProperty("Background",13/*exDateSeparatorBar*/,AutomationTranslateColor( GraMakeRGBColor  ( { 230,230,230 } )  , .F. ))
		oList:SetProperty("Background",14/*exDateSelect*/,0x1000000)
		oColumn := oList:Columns():Add("Date")
			oColumn:FilterType := 4/*exDate*/
			oColumn:DisplayFilterButton := .T.
			oColumn:DisplayFilterDate := .T.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
143
How do I change the visual aspect of the close button in the filter bar, using EBN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oList:SetProperty("Background",1/*exFooterFilterBarButton*/,0x1000000)
		oList:Columns():Add("Filter"):FilterType := 1/*exBlanks*/
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
142
How do I change the visual aspect of buttons in the cell, using EBN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oList:VisualAppearance():Add(2,"c:\exontrol\images\pushed.ebn")
		oList:SetProperty("Background",2/*exCellButtonUp*/,0x1000000)
		oList:SetProperty("Background",3/*exCellButtonDown*/,0x2000000)
		oList:SetProperty("SelForeColor",AutomationTranslateColor( GraMakeRGBColor  ( { 0,0,0 } )  , .F. ))
		oList:ShowFocusRect := .F.
		oList:Columns():Add("Column 1"):SetProperty("Def",2/*exCellHasButton*/,.T.)
		oList:Items():Add("Button 1")
		oList:Items():Add("Button 2")
		oList:Columns():Add("Column 2")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
141
How do I change the visual aspect of the drop down filter button, using EBN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oList:SetProperty("Background",0/*exHeaderFilterBarButton*/,0x1000000)
		oList:Columns():Add("Filter"):DisplayFilterButton := .T.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
140
How do I enable resizing the columns at runtime

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems,oItems1
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:ColumnsAllowSizing := .T.
		oList:MarkSearchColumn := .F.
		oList:HeaderVisible := .F.
		oList:Columns():Add("Column 1")
		oList:Columns():Add("Column 2")
		oList:DrawGridLines := 2/*exVLines*/
		oItems := oList:Items()
			oItems:SetProperty("Caption",oItems:Add("Item 1"),1,"Sub Item 1")
		oItems1 := oList:Items()
			oItems1:SetProperty("Caption",oItems1:Add("Item 2"),1,"Sub Item 2")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
139
How can I sort by multiple columns

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SingleSort := .F.
		oList:Columns():Add("C1"):SortOrder := 1/*SortAscending*/
		oList:Columns():Add("C2"):SortOrder := 2/*SortDescending*/
		oList:Columns():Add("C3"):SortOrder := 1/*SortAscending*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
138
How can I add several columns to control's sort bar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SortBarVisible := .T.
		oList:SortBarColumnWidth := 48
		oList:Columns():Add("C1"):SortOrder := 1/*SortAscending*/
		oList:Columns():Add("C2"):SortOrder := 2/*SortDescending*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
137
How can I change the width of the columns being displayed in the sort bar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SortBarVisible := .T.
		oList:SortBarColumnWidth := 48
		oList:Columns():Add("C1"):SortOrder := 1/*SortAscending*/
		oList:Columns():Add("C2"):SortOrder := 2/*SortDescending*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
136
How can I change the height of the sort bar's

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SortBarVisible := .T.
		oList:SortBarHeight := 48

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
135
How can I change the sort bar's foreground color

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SortBarVisible := .T.
		oList:SetProperty("ForeColorSortBar",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
134
How can I change the visual appearance of the control's sort bar, using EBN files

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oList:VisualAppearance():Add(2,"c:\exontrol\images\pushed.ebn")
		oList:SortBarVisible := .T.
		oList:SetProperty("BackColorSortBar",0x1000000)
		oList:SetProperty("BackColorSortBarCaption",0x2000000)
		oList:Appearance := 0/*None2*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
133
How can I change the sort bar's background color

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SortBarVisible := .T.
		oList:SetProperty("BackColorSortBar",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
		oList:SetProperty("BackColorSortBarCaption",AutomationTranslateColor( GraMakeRGBColor  ( { 128,0,0 } )  , .F. ))

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
132
How can I change the default caption being displayed in the control's sort bar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SortBarVisible := .T.
		oList:SortBarCaption := "new caption"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
131
How can I show the control's sort bar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SortBarVisible := .T.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
130
How can I stretch a picture on the control's header, when multiple levels are displayed, so it is not tiled

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:PictureLevelHeader := oList:ExecuteTemplate("loadpicture(`c:\exontrol\images\colorize.gif`)")
		oList:PictureDisplayLevelHeader := 49/*Stretch*/
		oList:Columns():Add("S"):Width := 32
		oList:Columns():Add("Level 1"):LevelKey := 1
		oList:Columns():Add("Level 2"):LevelKey := 1
		oList:Columns():Add("Level 3"):LevelKey := 1
		oList:Columns():Add("E1"):Width := 32
		oList:Columns():Add("E2"):Width := 32
		oList:Columns():Add("E3"):Width := 32
		oList:Columns():Add("E4"):Width := 32

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
129
How can I display a picture on the control's header, when multiple levels are displayed, so it is not tiled

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:PictureLevelHeader := oList:ExecuteTemplate("loadpicture(`c:\exontrol\images\colorize.gif`)")
		oList:PictureDisplayLevelHeader := 18/*MiddleRight*/
		oList:Columns():Add("S"):Width := 32
		oList:Columns():Add("Level 1"):LevelKey := 1
		oList:Columns():Add("Level 2"):LevelKey := 1
		oList:Columns():Add("Level 3"):LevelKey := 1
		oList:Columns():Add("E"):Width := 32

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
128
How can I display a picture on the control's header, when multiple levels are displayed

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:PictureLevelHeader := oList:ExecuteTemplate("loadpicture(`c:\exontrol\images\zipdisk.gif`)")
		oList:Columns():Add("S"):Width := 32
		oList:Columns():Add("Level 1"):LevelKey := 1
		oList:Columns():Add("Level 2"):LevelKey := 1
		oList:Columns():Add("Level 3"):LevelKey := 1

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
127
How can I change the header's background color, when multiple levels are displayed
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SetProperty("BackColorLevelHeader",AutomationTranslateColor( GraMakeRGBColor  ( { 250,0,0 } )  , .F. ))
		oList:Columns():Add("S"):Width := 32
		oList:Columns():Add("Level 1"):LevelKey := 1
		oList:Columns():Add("Level 2"):LevelKey := 1
		oList:Columns():Add("Level 3"):LevelKey := 1

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
126
Can I programmatically scroll the control

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:DefaultItemHeight := 32
		oList:Columns():Add("Column")
		oList:Items():Add(0)
		oList:Items():Add(1)
		oList:Items():Add(2)
		oList:Items():Add(3)
		oList:PutItems(oList:GetItems(0))
		oList:PutItems(oList:GetItems(0))
		oList:SetProperty("ScrollPos",.T.,1)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
125
Do you have some function to load data from a safe array
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Column")
		oList:Items():Add(0)
		oList:PutItems(oList:GetItems(0))

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
124
Do you have some function to retrieve all items to a safe array
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Column")
		oList:Items():Add(0)
		oList:PutItems(oList:GetItems(0))
		oList:Items():Add(1)
		oList:PutItems(oList:GetItems(0))
		oList:Items():Add(2)
		oList:PutItems(oList:GetItems(0))
		oList:Items():Add(3)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
123
How can still display the selected items when the control loses the focus

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:HideSelection := .F.
		oList:Columns():Add("Column")
		oItems := oList:Items()
			oItems:Add("Item 3")
			oItems:Add("Item 1")
			oItems:SetProperty("SelectItem",oItems:Add("Item 2"),.T.)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
122
How can I hide a column

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Hidden"):Visible := .F.
		oList:Columns():Add("2")
		oList:Columns():Add("3")
		oList:Columns():Add("4")
		oList:Columns():Add("5")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
121
How can I ensure that a column is visible and fits the control's client area
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:ColumnAutoResize := .F.
		oList:Columns():Add("1"):Width := 128
		oList:Columns():Add("2"):Width := 128
		oList:Columns():Add("3"):Width := 128
		oList:Columns():Add("4"):Width := 128
		oList:Columns():Add("5"):Width := 128
		oList:Items():EnsureVisibleColumn("5")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
120
I've seen that the width of the tooltip is variable. Can I make it larger

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:ToolTipWidth := 328
		oList:Columns():Add("tootip"):ToolTip := "this is a tooltip that should be very very very very very very very long"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
119
How do I disable showing the tooltip for all control
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:ToolTipDelay := 0
		oList:Columns():Add("tootip"):ToolTip := "this is a tooltip assigned to a column"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
118
How do I let the tooltip being displayed longer

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:ToolTipPopDelay := 10000
		oList:Columns():Add("tootip"):ToolTip := "this is a tooltip assigned to a column"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
117
How do I show the tooltip quicker
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:ToolTipDelay := 1
		oList:Columns():Add("tootip"):ToolTip := "this is a tooltip assigned to a column"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
116
How do I change the caption being displayed in the control's filter bar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:FilterBarCaption := "your filter caption"
		oColumn := oList:Columns():Add("Column")
			oColumn:DisplayFilterButton := .T.
			oColumn:FilterType := 1/*exBlanks*/
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
115
How do I search case sensitive, using your incremental search feature

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumns
	LOCAL oItems,oItems1
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:AutoSearch := .T.
		oColumns := oList:Columns()
			oColumns:Add("exStartWith"):AutoSearch := 0/*exStartWith*/
			oColumns:Add("exContains"):AutoSearch := 1/*exContains*/
		oItems := oList:Items()
			oItems:SetProperty("Caption",oItems:Add("text"),1,"another text")
		oItems1 := oList:Items()
			oItems1:SetProperty("Caption",oItems1:Add("text"),1,"another text")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
114
How do I disable the control
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Enabled := .F.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
113
How do I enable the incremental search feature within a column

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumns
	LOCAL oItems,oItems1
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:AutoSearch := .T.
		oColumns := oList:Columns()
			oColumns:Add("exStartWith"):AutoSearch := 0/*exStartWith*/
			oColumns:Add("exContains"):AutoSearch := 1/*exContains*/
		oItems := oList:Items()
			oItems:SetProperty("Caption",oItems:Add("text"),1,"another text")
		oItems1 := oList:Items()
			oItems1:SetProperty("Caption",oItems1:Add("text"),1,"another text")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
112
How do I call your x-script language

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumn := oList:ExecuteTemplate("Columns.Add(`Column`)")
			oColumn:HeaderStrikeOut := .T.
			oColumn:HeaderBold := .T.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
111
How do I call your x-script language

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Template := "Columns.Add(`Column`).HTMLCaption = `<b>C</b>olumn`"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
110
How do I show alternate rows in different background color

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SetProperty("BackColorAlternate",AutomationTranslateColor( GraMakeRGBColor  ( { 240,240,240 } )  , .F. ))
		oList:Columns():Add("Column")
		oItems := oList:Items()
			oItems:Add("Item 1")
			oItems:Add("Item 2")
			oItems:Add("Item 3")
			oItems:Add("Item 4")
			oItems:Add("Item 5")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
109
How do I enlarge the drop down filter window

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:FilterBarDropDownHeight := -320
		oColumn := oList:Columns():Add("Column")
			oColumn:DisplayFilterButton := .T.
			oColumn:FilterBarDropDownWidth := -320
		oList:Items():Add("Item 1")
		oList:Items():Add("Item 2")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
108
How do I filter programatically the control

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumn := oList:Columns():Add("Column")
			oColumn:DisplayFilterButton := .T.
			oColumn:FilterType := 3/*exPattern*/
			oColumn:Filter := "Item*"
		oList:Items():Add("Item 1")
		oList:Items():Add("")
		oList:Items():Add("Item 2")
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
107
How do I change the font of the control's filterbar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:FilterBarFont():Size := 20
		oColumn := oList:Columns():Add("Column")
			oColumn:DisplayFilterButton := .T.
			oColumn:FilterType := 1/*exBlanks*/
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
106
Can I apply an EBN skin to the control's filter bar so I can change its visual appearance

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oList:SetProperty("FilterBarBackColor",0x1000000)
		oColumn := oList:Columns():Add("Column")
			oColumn:DisplayFilterButton := .T.
			oColumn:FilterType := 1/*exBlanks*/
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
105
How do I change the background color of the control's filterbar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SetProperty("FilterBarBackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 240,240,240 } )  , .F. ))
		oColumn := oList:Columns():Add("Column")
			oColumn:DisplayFilterButton := .T.
			oColumn:FilterType := 1/*exBlanks*/
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
104
How do I change the foreground color of the control's filterbar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SetProperty("FilterBarForeColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
		oColumn := oList:Columns():Add("Column")
			oColumn:DisplayFilterButton := .T.
			oColumn:FilterType := 1/*exBlanks*/
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
103
How do I change the height of the control's filterbar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:FilterBarHeight := 32
		oColumn := oList:Columns():Add("Column")
			oColumn:DisplayFilterButton := .T.
			oColumn:FilterType := 1/*exBlanks*/
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
102
How do select only a portion of text when the control starts editing a cell

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:AllowEdit := .T.
		oList:SelStart := 1
		oList:SelLength := 1
		oList:Columns():Add("Column")
		oList:Items():Add("Item 1")
		oList:Items():Add("Item 2")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
101
How do I change the header's foreground color

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SetProperty("ForeColorHeader",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
		oList:Columns():Add("Column 1")
		oList:Columns():Add("Column 2")
		oList:Items():Add("Item 1")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN